草庐IT

C++ STL : Passing an empty container to lower_bound

全部标签

c++ - 任何 STL 数据结构,如 pair 提供三个项目(类型)而不是两个?

问题1:我正在使用C++11,并且正在学习。我意识到我可以用两对来做到这一点:pair,>,>这是最好的方法吗?问题2:如果我不需要不同的类型,那么两个项目的类型相同,使用pair是否浪费,那我应该使用什么?三个项目?(又是同一类型) 最佳答案 使用std::tuple:std::tuple请注意std::tuples支持存储在其中的任意数量的类型。此外,要访问这些元素,你不能做得很好pair.first/pair.second,您必须使用语法std::get(tuple),其中n是您要检索的元素。

c++ - 任何 STL 数据结构,如 pair 提供三个项目(类型)而不是两个?

问题1:我正在使用C++11,并且正在学习。我意识到我可以用两对来做到这一点:pair,>,>这是最好的方法吗?问题2:如果我不需要不同的类型,那么两个项目的类型相同,使用pair是否浪费,那我应该使用什么?三个项目?(又是同一类型) 最佳答案 使用std::tuple:std::tuple请注意std::tuples支持存储在其中的任意数量的类型。此外,要访问这些元素,你不能做得很好pair.first/pair.second,您必须使用语法std::get(tuple),其中n是您要检索的元素。

c++ - 支持 C++11 的开源 STL 实现

简而言之,我正在寻找STLPort的替代品。STLPort已经有一段时间没有更新了(自2008年以来?)并且缺乏C++11支持。有谁知道任何替代方案?我需要为各种架构和各种目标操作系统使用各种工具链进行编译。我将开始研究GNUC++实现,看看它与GCC工具链作为替代方案的关联程度,并将返回结果。但是,如果有人在这里有任何前期知识,那就太好了。对此的替代方案是实现各种关键的C++11STL特性,如新的智能指针类型和std::threads。最坏的情况下,我可能可以从boost中提取智能指针。就pthread或Windows线程而言,是否有任何std::threads实现?谢谢

c++ - 支持 C++11 的开源 STL 实现

简而言之,我正在寻找STLPort的替代品。STLPort已经有一段时间没有更新了(自2008年以来?)并且缺乏C++11支持。有谁知道任何替代方案?我需要为各种架构和各种目标操作系统使用各种工具链进行编译。我将开始研究GNUC++实现,看看它与GCC工具链作为替代方案的关联程度,并将返回结果。但是,如果有人在这里有任何前期知识,那就太好了。对此的替代方案是实现各种关键的C++11STL特性,如新的智能指针类型和std::threads。最坏的情况下,我可能可以从boost中提取智能指针。就pthread或Windows线程而言,是否有任何std::threads实现?谢谢

c# - STL C++ 和 C# 容器之间的映射

这个问题在这里已经有了答案:ComparisonofC++STLcollectionsandC#collections?(1个回答)关闭2年前。有人能指出常用的C++STL容器(如vector、list、map、set、multimap...)和C#通用容器之间的良好映射吗?我已经习惯了前者,并且不知何故我已经习惯于用这些容器来表达算法。我很难找到与这些等效的C#。谢谢! 最佳答案 这是一个粗略的等价:Dictionaryunordered_mapHashSetunordered_setListvectorLinkedListlis

c# - STL C++ 和 C# 容器之间的映射

这个问题在这里已经有了答案:ComparisonofC++STLcollectionsandC#collections?(1个回答)关闭2年前。有人能指出常用的C++STL容器(如vector、list、map、set、multimap...)和C#通用容器之间的良好映射吗?我已经习惯了前者,并且不知何故我已经习惯于用这些容器来表达算法。我很难找到与这些等效的C#。谢谢! 最佳答案 这是一个粗略的等价:Dictionaryunordered_mapHashSetunordered_setListvectorLinkedListlis

C++:const 类成员的 STL 问题

这是一个开放式问题。有效的C++。第3项。尽可能使用const。真的吗?我想做任何在对象生命周期内不会改变的东西。但是const也有它自己的麻烦。如果一个类有任何const成员,编译器生成的赋值运算符将被禁用。如果没有赋值运算符,一个类将无法使用STL。如果您想提供自己的赋值运算符,则需要const_cast。这意味着更多的忙碌和更多的错误空间。您多久使用一次const类成员?编辑:作为一项规则,我争取const的正确性,因为我做了很多多线程。我很少需要为我的类实现复制控制,也从不删除代码(除非绝对必要)。我觉得const的当前状态与我的编码风格相矛盾。const迫使我实现赋值运算符,

C++:const 类成员的 STL 问题

这是一个开放式问题。有效的C++。第3项。尽可能使用const。真的吗?我想做任何在对象生命周期内不会改变的东西。但是const也有它自己的麻烦。如果一个类有任何const成员,编译器生成的赋值运算符将被禁用。如果没有赋值运算符,一个类将无法使用STL。如果您想提供自己的赋值运算符,则需要const_cast。这意味着更多的忙碌和更多的错误空间。您多久使用一次const类成员?编辑:作为一项规则,我争取const的正确性,因为我做了很多多线程。我很少需要为我的类实现复制控制,也从不删除代码(除非绝对必要)。我觉得const的当前状态与我的编码风格相矛盾。const迫使我实现赋值运算符,

c++ - 哪个 STL 容器最适合 std::sort? (这还重要吗?)

标题不言自明....容器的选择是否会以某种方式影响默认std::sort算法的速度?比如我用list,排序算法是切换节点指针还是切换节点中的全部数据? 最佳答案 选择确实会产生影响,但预测哪个容器最有效是非常困难的。最好的方法是使用对您的应用程序来说最容易使用的容器(可能是std::vector),看看该容器的排序是否足够快,如果是的话,坚持使用它。如果没有,请对您的排序问题进行性能分析,并根据配置文件数据选择不同的容器。作为一名前讲师和前培训师,我个人有时会为链表具有神秘的性能增强属性这一普遍观点负责。从一个知道的人那里知道:链表

c++ - 哪个 STL 容器最适合 std::sort? (这还重要吗?)

标题不言自明....容器的选择是否会以某种方式影响默认std::sort算法的速度?比如我用list,排序算法是切换节点指针还是切换节点中的全部数据? 最佳答案 选择确实会产生影响,但预测哪个容器最有效是非常困难的。最好的方法是使用对您的应用程序来说最容易使用的容器(可能是std::vector),看看该容器的排序是否足够快,如果是的话,坚持使用它。如果没有,请对您的排序问题进行性能分析,并根据配置文件数据选择不同的容器。作为一名前讲师和前培训师,我个人有时会为链表具有神秘的性能增强属性这一普遍观点负责。从一个知道的人那里知道:链表